{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "9408823a",
   "metadata": {},
   "source": [
    "# 第 5 章 特征值理论和相似对角化\n",
    "\n",
    "代数的特点是研究一个模型的最基本组成。比如我们已经了解了线性空间的基础结构，从集合论出发，给出了运算、加法、数乘、线性组合、线性相关、基、维数等基本概念。在这个模式下，$n$ 维空间的线性变换（映射），就对应为一个矩阵向量乘法。但一个具体的线性变换，是如何构成的，有哪些主要成分和特征，目前还不是很明确。本章，我们试图来回答这个问题。由于我们将研究对象限制为 $\\mathbb{R}^n$ 到 $\\mathbb{R}^n$ 的线性变换，所以我们的考察对象也限制为 $n \\times n$ 的矩阵。我们先看一下，一个 $\\mathbb{R}^2$ 到 $\\mathbb{R}^2$ 的线性变换和对应的矩阵向量乘法："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "e0c0c187",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy as sci\n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2d8bf206",
   "metadata": {},
   "source": [
    "我们先看一个随机矩阵："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "bb386dd0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[2, 1],\n",
       "       [1, 3]])"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "A = np.array([[2, 1], [1, 3]])  \n",
    "A"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d9333dae",
   "metadata": {},
   "source": [
    "为了观察这个矩阵对应的线性变换在 $\\mathbb{R}^2$ 下的效果，我们构建一个单位圆："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "5f017be0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-1.0946127895614899,\n",
       " 1.0997434661695948,\n",
       " -1.098588157888158,\n",
       " 1.098588157888158)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.linspace(0, 2 * np.pi, 32)\n",
    "plt.plot(0, 0, 'b*')\n",
    "plt.plot(np.cos(t), np.sin(t))\n",
    "plt.plot([0, np.cos(t[2])], [0, np.sin(t[2])], 'r-')\n",
    "plt.axis(\"equal\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7496e7ee",
   "metadata": {},
   "source": [
    "然后观察在矩阵 $A$ 对应的线性变换下单位圆的像： "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "9bb6b6d7",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-2.4573085284789467,\n",
       " 2.455584812012481,\n",
       " -3.4706561657645034,\n",
       " 3.476333926193232)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.linspace(0, 2 * np.pi, 32)\n",
    "plt.plot(0, 0, 'b*')\n",
    "x = np.array([np.cos(t), np.sin(t)])\n",
    "y = np.dot(A, x)\n",
    "x0 = np.array([np.cos(t[2]), np.sin(t[2])])\n",
    "y0 = np.dot(A, x0)\n",
    "plt.plot(x[0], x[1], 'b--')\n",
    "plt.plot(y[0], y[1], 'b')\n",
    "plt.plot([0, x0[0]], [0, x0[1]], 'r--')\n",
    "plt.plot([0, y0[0]], [0, y0[1]], 'r-')\n",
    "plt.axis(\"equal\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "05dc611b",
   "metadata": {},
   "source": [
    "观察整个单位圆上的向量，大家是否注意到某些特殊的向量的特殊性质？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "14934c85",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x0 [-0.52573111 -0.85065081]\n",
      "y0 [-1.90211303 -3.07768354]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(-2.4573085284789467,\n",
       " 2.455584812012481,\n",
       " -3.4706561657645034,\n",
       " 3.476333926193232)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "[w, v] = np.linalg.eig(A)\n",
    "t = np.linspace(0, 2 * np.pi, 32)\n",
    "plt.plot(0, 0, 'b*')\n",
    "x = np.array([np.cos(t), np.sin(t)])\n",
    "y = np.dot(A, x)\n",
    "x0 = np.array([v[0, 1], v[1, 1]])\n",
    "print(\"x0\", x0)\n",
    "y0 = np.dot(A, x0)\n",
    "print(\"y0\", y0)\n",
    "plt.plot(x[0], x[1], 'b--')\n",
    "plt.plot(y[0], y[1], 'b')\n",
    "plt.plot([0, x0[0]], [0, x0[1]], 'r--')\n",
    "plt.plot([0, y0[0]], [0, y0[1]], 'r-')\n",
    "plt.axis(\"equal\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3b8a8431",
   "metadata": {},
   "source": [
    "是否总有几个向量，在此变换下，方向不变。也就是说，$n \\times n$ 矩阵 $A$ 对应的线性变换，是否总有 $n$ 个向量 $\\xi$ 满足：\n",
    " $$\n",
    " A \\xi = \\lambda \\xi,\\quad  \\xi \\in \\mathbb{R}^2,\n",
    " $$\n",
    " 而这里的 $\\lambda$ 是对应的缩放倍数。\n",
    " \n",
    " 现在我们的问题是希望刻画矩阵 $A$ 对应的线性变化的效果，也就是本质上我们希望刻画 $A \\cdot \\mathbb{R}^n$. 那么是不是可以有 $n$ 个向量 $\\xi_i$, $i = 1, 2, \\cdots, n$, 都满足 \n",
    " $$\n",
    " A \\xi_i = \\lambda_i \\xi_i, i = 1, 2, \\cdots, n.\n",
    " $$\n",
    "而且如果这 $i$ 个向量是线性无关的，那么是不是就可以很方便地用这 $i$ 个变量作为 $A \\cdot \\mathbb{R}^n$ 的一组基，这样我们就获得了 $A$ 对应的线性变换的主要信息。这就是我们这一章的缘起。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "466f5cb6",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
